<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>audio巨缝衔接</title>
    <!-- 不改了对不齐的啊啊啊啊什么lj精度啊淦淦淦淦淦(#｀皿´) -->
</head>
<body>
    <button id="playButton">播放音频</button>

    <script>
        // 音频文件路径
        const audioFileA = 'File/audio/bgm_full.ogg'; // 音频A
        const audioFileB = 'File/audio/bgm_loop.ogg'; // 音频B

        // 创建音频元素
        const audioA = new Audio(audioFileA);
        const audioB = new Audio(audioFileB);

        // 定义关键时间点
        const durationA = 58.15; // A的总时长
        const durationB = 57.37; // B的总时长
        const switchTimeA = 57.89; // A切换到B的时间点
        const switchTimeB = 56.90; // B切换到下一次播放的时间点

        // 主逻辑
        function main() {
            // 播放A
            audioA.play();

            // 在A播放至57.71秒时开始播放B
            setTimeout(() => {
                audioB.play();

                // 监听B的时间更新事件
                audioB.addEventListener('timeupdate', () => {
                    // 如果B播放至57.14秒则重新开始播放
                    if (audioB.currentTime >= switchTimeB) {
                        console.log('B播放至57.14秒，重新开始播放');
                        audioB.currentTime = 0; // 重置B的播放位置
                        audioB.play(); // 重新播放B
                    }
                });
            }, (switchTimeA) * 1000); // 57.71秒后播放B

            // 监听A的结束事件
            audioA.addEventListener('ended', () => {
                console.log('A播放完毕');
            }, { once: true });
        }

        // 点击按钮开始播放
        document.getElementById('playButton').addEventListener('click', () => {
            console.log('点击播放按钮');
            main();
        });
    </script>
</body>
</html>